#include "types.h"
#include <stdarg.h>


void printk(const char* s, ...);

int vsnprintf(char* out, size_t n, const char* s, va_list vl);

#define panic(s,...) do { do_panic(s"\n", ##__VA_ARGS__); } while(0)
#define kassert(cond) do { if(!(cond)) kassert_fail(""#cond); } while(0)
void do_panic(const char* s, ...) __attribute__((noreturn));
void kassert_fail(const char* s) __attribute__((noreturn));